package com.kevin;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Driver;

public class RegMember {
	String userid;
	String nickname;
	String pw1;
	String pw2;
	String email;
	
	private String useridMessage;
	private String nicknameMessage;
	private String pwMessage;
	private String emailMessage;
	String loginMessage;
	private boolean login;
	String referer;
	
	public RegMember(String userid, String nickname, String pw1, String pw2, String email) {
		super();
		this.userid = userid;
		this.nickname = nickname;
		this.pw1 = pw1;
		this.pw2 = pw2;
		this.email = email;
	}

	public RegMember() {
		
	}

    public boolean login(){
        Connection conn = null;
        PreparedStatement pstmt = null;
        login = false;
        try {
                DriverManager.registerDriver(new Driver());
                conn = DriverManager.getConnection(
                        "jdbc:mysql://j.snpy.org/j102", "jstu", "abc123");
                String sql = "select * from users where id=? and password=?";
                pstmt = conn.prepareStatement(sql);
                pstmt.setString(1, userid);
                pstmt.setString(2, pw1);
                ResultSet rs = pstmt.executeQuery();
                if (rs.next()){
                        login = true;
                        nickname = rs.getString("nickname");
                        email = rs.getString("email");
                }else{
                        loginMessage = "登入失敗";
                }
        } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        } finally{
                if (conn!=null){
                        try {
                                pstmt.close();
                                conn.close();
                        } catch (SQLException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                }
        }
        return login;
    }

    public boolean validate(){
        boolean valid = true;
        if (userid.length()<4 || userid.length()>20){
                valid = false;
                useridMessage = "使用者帳號長度不符合";
        }
        if (nickname.length()<4 || nickname.length()>20){
                valid = false;
                nicknameMessage = "暱稱長度不符合";
        }
        if (!pw1.equals(pw2)){
                valid = false;
                pwMessage = "密碼不符合";
        }
        if (email.indexOf("@")==-1){
                valid = false;
                emailMessage = "電子郵件格式錯誤";
        }
        if (valid){
                try {
                        DriverManager.registerDriver(new Driver());
                        Connection conn = DriverManager.getConnection(
                                "jdbc:mysql://j.snpy.org/j102", "jstu", "abc123");
                        String sql = "INSERT INTO users(id, nickname, password, email) values(?,?,?,?)";
                        PreparedStatement pstmt = conn.prepareStatement(sql);
                        pstmt.setString(1, userid);
                        pstmt.setString(2, nickname);
                        pstmt.setString(3, pw1);
                        pstmt.setString(4, email);
                        int rowCount = pstmt.executeUpdate();
                } catch (SQLException e) {
                        e.printStackTrace();
                }
               
        }
        return valid;
    }

	public String getUserid() {
		return userid;
	}

	public void setUserid(String userid) {
		this.userid = userid;
	}

	public String getNickname() {
		return nickname;
	}

	public void setNickname(String nickname) {
		this.nickname = nickname;
	}

	public String getPw1() {
		return pw1;
	}

	public void setPw1(String pw1) {
		this.pw1 = pw1;
	}

	public String getPw2() {
		return pw2;
	}

	public void setPw2(String pw2) {
		this.pw2 = pw2;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getUseridMessage() {
		return useridMessage;
	}

	public void setUseridMessage(String useridMessage) {
		this.useridMessage = useridMessage;
	}

	public String getNicknameMessage() {
		return nicknameMessage;
	}

	public void setNicknameMessage(String nicknameMessage) {
		this.nicknameMessage = nicknameMessage;
	}

	public String getPwMessage() {
		return pwMessage;
	}

	public void setPwMessage(String pwMessage) {
		this.pwMessage = pwMessage;
	}

	public String getEmailMessage() {
		return emailMessage;
	}

	public void setEmailMessage(String emailMessage) {
		this.emailMessage = emailMessage;
	}

	public String getLoginMessage() {
		return loginMessage;
	}

	public void setLoginMessage(String loginMessage) {
		this.loginMessage = loginMessage;
	}

	public boolean isLogin() {
		return login;
	}

	public void setLogin(boolean login) {
		this.login = login;
	}

	public String getReferer() {
		return referer;
	}

	public void setReferer(String referer) {
		this.referer = referer;
	}

}
